#pragma once
#include "helper.hpp"

namespace VN{
    extern bool second;
    class GameWindow:public Window{
        protected:
        bool _key_down(SDL_Keysym& sym);
        public:
        GameScene* game;
        GameWindow(const char* icon,const char* title,int w,int h,bool resize,bool full,SDL_Color back=Color::White,Window* parent=NULL,SDL_BlendMode mode=SDL_BLENDMODE_BLEND);
        ~GameWindow();
    };
    /*
    assets中必须打包文件夹"back/"，也就是游戏背景资源
    start_page->开屏淡入淡出显示，后进入主界面
    res_pair<group_name,pair<path,res_name>> cg会同步给背景，直接使用背景操作对cg操作
    UI语言设置顺序：(大小到确定为止)
    开始游戏(包括新游戏|继续游戏），读取存档，cg鉴赏，设置，退出，返回，音效|配音，音乐，播放速度(正常 较快)，背景音乐，
    语言选择下拉框（大小和语言本地化不包括这个 位置包括这个），存档名（输入框提示），确定，跳过，自动播放，读档，存档，主菜单，历史
    */
    int Main(const char* title,const char* icon_path,const char* start_page,const char* default_language,const char* main_font,initializer_list<SDL_Color> main_color,initializer_list<int> control_size,initializer_list<UIConfig> config,const char* version,SDL_Color default_text_color,const char* main_back_path,
        const char* init_main_back,const char* general_back_path,const char* dialog_back,const char* name_back,
        const char* back_group_name,const char* first_game_back,const char* main_music,SDL_Color time_color,
        initializer_list<ResGroup>
        res_pair,initializer_list<Chapter*> chapters,SaveFunc sf,
        SaveFunc lf,vector<SDL_Point> control_pos,const char* progress_bg,const char* effect_fg,const char* music_fg);
}